import { wsCache } from '../../utils'
import config from '../index'

function getCurrentSysAppCode() {
  return (
    wsCache.get(config.systemAppLsName) ||
    wsCache.get(config.businessAppLsName) ||
    config.businessAppCode
  )
}

const amc = routerPrefix => {
  return {
    name: '应用中心',
    children: [
      {
        name: '应用管理',
        url: `$router|${routerPrefix}/amc/app-manage/list`,
        icon: 'gsd-icon-line-Universal-book',
        desc: '描述描述描述描述'
      },
      {
        name: '应用管理员',
        url: `$router|${routerPrefix}/amc/app-managers`,
        icon: 'gsd-icon-line-Universal-book',
        desc: '描述描述描述描述'
      }
    ]
  }
}

const uum = routerPrefix => {
  return {
    name: '用户中心',
    children: [
      {
        name: '用户管理',
        url: `$router|${routerPrefix}/uum/user-manager`,
        icon: 'gsd-icon-line-Universal-book',
        desc: '描述描述描述描述'
      },
      {
        name: '行政区划管理',
        url: `$router|${routerPrefix}/uum/district`,
        icon: 'gsd-icon-line-Universal-book',
        desc: '描述描述描述描述'
      },
      {
        name: '组织机构管理',
        url: `$router|${routerPrefix}/uum/organization`,
        icon: 'gsd-icon-line-Universal-book',
        desc: '描述描述描述描述'
      },
      {
        name: '岗位管理',
        url: `$router|${routerPrefix}/uum/department`,
        icon: 'gsd-icon-line-Universal-book',
        desc: '描述描述描述描述'
      }
    ]
  }
}

function entryListOmee(self, routerPrefix) {
  return [
    '/omee/',
    // 应用中心
    amc(routerPrefix),
    // 用户中心
    uum(routerPrefix),
    // 权限中心
    {
      name: '权限中心',
      children: [
        // {
        //   name: '权限中心',
        //   url: `$router|${routerPrefix}/govrbac/`,
        //   icon: 'gsd-icon-line-Universal-book',
        //   desc: '描述描述描述描述'
        // }
      ]
    },
    // 表单中心
    {
      name: '表单中心',
      children: [
        {
          name: '表单中心',
          url: `$router|${routerPrefix}/zeus/`,
          icon: 'gsd-icon-line-Universal-book',
          desc: '描述描述描述描述'
        }
      ]
    },
    // 流程中心
    {
      name: '流程中心',
      children: [
        // {
        //   name: '流程管理',
        //   url: `$router|${routerPrefix}/ibpms/rep/home/appManage/list`,
        //   icon: 'gsd-icon-line-Universal-book',
        //   desc: '描述描述描述描述'
        // },
        {
          name: '流程模板',
          url: `$router|${routerPrefix}/ibpms/rep/${getCurrentSysAppCode()}/home/appModule/list`,
          icon: 'gsd-icon-line-Universal-book',
          desc: '描述描述描述描述'
        },
        {
          name: '流程定义',
          url: `$router|${routerPrefix}/ibpms/rep/`,
          icon: 'gsd-icon-line-Universal-book',
          desc: '描述描述描述描述'
        },
        {
          name: '流程日志',
          url: `$router|${routerPrefix}/ibpms/rep/${getCurrentSysAppCode()}/systemSet/log`,
          icon: 'gsd-icon-line-Universal-book',
          desc: '描述描述描述描述'
        }
      ]
    }
    // 预约中心
  ]
}

export function omee(self) {
  let routerPrefix = ''
  // 辨别是否真实地址
  if (!self.$router.options.base.match('omee')) {
    routerPrefix = `/omee`
  }
  return {
    // 头部菜单
    entryList: [entryListOmee(self, routerPrefix)],
    // 菜单详情
    entry: {
      '/omee/': {
        name: '政务中枢',
        url: `$router|${routerPrefix}/`,
        style: {
          columnCount: 2
        }
      }
    }
  }
}
